package GenericStudy.Exa0;


/**
 * 泛型程序代码可以处理多种不同类型的对象。
 * 例如：我们并不希望为收集String和File对象分别编写不同的类来实现，这时我们可以使用泛型写一个通用收集类来满足我们需求。
 *
 * ArrayList类就是一个很好的例子，在java引入泛型之前，ArrayList只是维护一个Object引用的数组，这就意味着，当我们获取一个值的时候必须进行强制类型转换
 * 而且插入的元素没有类型的限制，也就是说可以插入任何类型的元素进去而不报错，这明显不好。
 * 但是有了泛型，我们可以在开始就指定ArrayList中元素的类型，这样在获取值时不必进行强转且插入值的时候，如果试图插入其他类型的元素，在编译就会报错，这只是泛型的其中一个好处。
 * 下面是一个普通的泛型类
 * @param <T>
 */
public class Pari<T> {
    private T first;
    private T second;

    public Pari(){
        first=null;
        second=null;
    }
    public Pari(T first,T second){
        this.first=first;
        this.second=second;
    }

    public T getFirst() {
        return first;
    }

    public void setFirst(T first) {
        this.first = first;
    }

    public T getSecond() {
        return second;
    }

    public void setSecond(T second) {
        this.second = second;
    }
}
